package iphoneBackupScanner.common;

/**
 * Diese Enum stellt jeweils den Mode einer Datei dar.
 * 
 * @author Andi
 *
 */
public enum Mode {

	/** Ein Link. */
	Link('A'),
	
	/** Ein Verzeichnis. */
	Directory('4'), 
	
	/** Eine Datei. */
	File('8');

	private final char identifier;

	Mode(char identifier) {
		this.identifier = identifier;
	}

	public static Mode parseMode(final String str) {

		if (str.length() < 1)
			throw new IllegalArgumentException();

		Mode result = null;

		for (Mode mode : values())
			if (Character.toUpperCase(str.charAt(0)) == mode.identifier)
				result = mode;

		if (result == null)
			throw new IllegalArgumentException();

		return result;

	}
}
